/**
 * 代号:隐无为 2017：厚溥
 * 文件名：BaseDao.java
 * 创建人：柯栋
 * 日期：2017年12月21日
 * 修改人：
 * 描述：
 */
package org.kd.websocket;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import org.springframework.web.socket.handler.TextWebSocketHandler;

/**
 * 用途：消息处理类
 */

public class MyHandler extends TextWebSocketHandler {
	Logger log = Logger.getLogger(this.getClass());
	public static List<WebSocketSession> users =new ArrayList<WebSocketSession>();
	
	// 用户连接成功后
	@Override
	public void afterConnectionEstablished(WebSocketSession session) throws Exception {
		users.add(session);
		log.info("id:"+session.getId()+"->用户连接成功");
	}

	// 处理消息   当用户发送消息  才会被被调用
	@Override
	public void handleTextMessage(WebSocketSession session, TextMessage message) {
		System.out.println(message.getPayload());
		try {
			sendAllUser(message);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	


	// 发送给所有人
	public void sendAllUser(TextMessage message) throws IOException{
		for (WebSocketSession user : users) {
			// 用户在线 才发送消息
			if(user.isOpen()){
				user.sendMessage(message);
			}
			
		}
		
	}
	

}
